<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html" charset="utf-8">
    <title>HP穿透</title>
    <meta data-n-head="ssr" charset="utf-8">
    <meta data-n-head="ssr" data-hid="description" name="description"
          content="HP穿透是一款便捷,免费的内网穿透及端口映射软件,使您无需服务器,无需设置路由器即可对外发布应用,远程桌面,支付调试,NAS云盘,游戏联机等都可使用,支持Http,Tcp,让您不再为网络不互通烦恼.">
    <meta data-n-head="ssr" data-hid="keywords" name="keywords"
          content="内网穿透,永久免费内网穿透,内网转发,端口映射,内外网通讯,内网映射,本地微信开发,本地支付回调,内网端口映射工具,内网端口映射,网云穿免费内网穿透,http代理模式,tcp代理模式,网云穿">

    <style>
        html, canvas, body {
            width: 100%;
            height: 100%;
            overflow: hidden;
            font: 1em/1.5em 'Helvetica';
            color: #333;
            -webkit-user-select: disabled;
            padding: 0;
            margin: 0;
        }

        body {
            display: flex;
            /*min-height: 700px;*/
            min-width: 900px;
            min-height: 625px;
            background: #000;
            -webkit-perspective: 1000px;
            overflow: hidden;
            justify-content: center;
            align-items: center;
        }

        .out #title {
            opacity: 0;
            -webkit-transform: translateZ(-50px) rotateX(5deg);
        }

        .out #additional {
            opacity: 0;
        }

        .out #stage {
            opacity: 0;
            -webkit-transform: translateZ(0px);
        }

        .in div {
            opacity: 1;
            -webkit-transform: translateZ(0px) rotateY(0) rotateX(0);
        }

        #ringgroup {
            position: absolute;
            width: 800px;
            height: 800px;
            left: 50%;
            top: 50%;
            margin-left: -400px;
            margin-top: -400px;
            -webkit-transition: All 2.2s 0.1s;
            -webkit-transform: rotateZ(-360deg) translateZ(-4000px) scale(0.02);
            -webkit-perspective: 1000px;
            -webkit-transform-style: preserve-3d;
        }

        #ringgroup.pass {
            -webkit-transform: rotateZ(0) translateZ(3200px) scale(1);
            opacity: 1;
        }

        .ring {
            position: absolute;
            width: 100%;
            height: 100%;
            background: url('');
            -webkit-transform-style: preserve-3d;
            /*border: 4px solid white;*/
            /*border-radius: 400px;*/
        }

        .ring:nth-of-type(1) {
            -webkit-transform: translateZ(0px);
            opacity: 1;
        }

        .ring:nth-of-type(2) {
            -webkit-transform: rotateZ(60deg) translateZ(-1000px) scale(0.9);
            opacity: 0.7;
        }

        .ring:nth-of-type(3) {
            -webkit-transform: rotateZ(120deg) translateZ(-200px) scale(0.8);
            opacity: 0.5;
        }

        .ring:nth-of-type(4) {
            -webkit-transform: rotateZ(30deg) translateZ(-3000px) scale(0.7);
            opacity: 0.1;
        }

        #core {
            display: block;
            position: absolute;
            width: 400px;
            height: 316px;
            left: 50%;
            top: 50%;
            margin-left: -200px;
            margin-top: -158px;
            -webkit-transition: All 0.9s ease;
            -webkit-transform: translateZ(-4000px) rotateY(90deg) rotateZ(30deg);
            opacity: 1;
        }

        #core.pass {
            -webkit-transform: rotateZ(0) translateZ(1000px) rotateY(-15deg);
            opacity: 1;
        }

        #core img {
            width: 100%;
        }

        #stage {
            display: flex;
            justify-content: center;
            align-items: center;
            -webkit-transition: All 2.3s 0s ease-in;
            -webkit-filter: brightness(1.3);
            /*border: 1px solid red;*/
        }

        #hero {
            width: 100%;
            text-align: center;
            margin-top: -6%;
        }

        #hero img {
            width: 82%;
            max-width: 1133px;
            margin-top: 100px;
        }

        #title {
            position: absolute;
            width: 100%;
            left: 0;
            top: 14%;
            text-align: center;
            -webkit-transition: All 1.6s ease-out;
        }

        #title img {
            max-width: 530px;
        }

        #additional {
            position: absolute;
            width: 100%;
            left: 0;
            bottom: 16%;
            text-align: center;
            -webkit-transition: All 1s 0.8s ease-in;
        }

        #additional img {
            width: 45%;
            max-width: 760px;
        }

        #light {
            width: 700px;
            height: 500px;
            position: absolute;
            top: 50%;
            left: 50%;
            margin-left: -350px;
            margin-top: -250px;
            background: url('');
            -webkit-transform: scaleX(0.1) scaleY(0.1);
            -webkit-filter: brightness(0);
            -webkit-transition: All 0.4s ease-in;
        }

        #light.pass {
            -webkit-transform: scaleX(2) scaleY(0.5);
            -webkit-filter: brightness(6);
        }

        #light.passed {
            -webkit-transform: scaleX(6) scaleY(1.1);
            -webkit-filter: brightness(0);
            -webkit-transition: All 0.3s ease-out;
        }

        #wave {
            width: 320px;
            height: 320px;
            top: 50%;
            left: 50%;
            margin-left: -160px;
            margin-top: -160px;
            position: absolute;
            background: url('');
            -webkit-transform: scale(0.01);
            -webkit-transition: All 0.9s 0.62s ease;
            -webkit-filter: brightness(3);
        }

        #wave.pass {
            -webkit-transform: scale(12);
            -webkit-filter: brightness(1);
            opacity: 0;
        }

        #content {
            color: #fff;
            font-size: 40px;
        }
    </style>
</head>
<body class="out">
<div id="light"></div>
<div id="wave"></div>
<div id="stage">
</div>
<div id="title" style="zoom: 1.4 !important;">
    <img src="">
</div>

<div id="content">
    <div style="text-align: center;margin: 0 auto;line-height: 70px;">
        <p> QQ交流群：432217351
        </p>
        <p>承诺：程序开源 服务免费</p>
        <p>禁止：非法网站，涉及色情、暴力、赌博、诈骗、影视、私服等等，出现问题后果自负，本站概不负责</p>
    </div>
</div>

<div id="ringgroup">
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
</div>
<div id="core">
    <img src="">
</div>
</div>


<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
    !function () {
        function a() {
        }

        function b(a) {
            return f.retinaImageSuffix + a
        }

        function c(a, c) {
            if (this.path = a || "", "undefined" != typeof c && null !== c) this.at_2x_path = c, this.perform_check = !1; else {
                if (void 0 !== document.createElement) {
                    var d = document.createElement("a");
                    d.href = this.path, d.pathname = d.pathname.replace(g, b), this.at_2x_path = d.href
                } else {
                    var e = this.path.split("?");
                    e[0] = e[0].replace(g, b), this.at_2x_path = e.join("?")
                }
                this.perform_check = !0
            }
        }

        function d(a) {
            this.el = a, this.path = new c(this.el.getAttribute("src"), this.el.getAttribute("data-at2x"));
            var b = this;
            this.path.check_2x_variant(function (a) {
                a && b.swap()
            })
        }

        var e = "undefined" == typeof exports ? window : exports,
            f = {retinaImageSuffix: "@2x", check_mime_type: !0, force_original_dimensions: !0};
        e.Retina = a, a.configure = function (a) {
            null === a && (a = {});
            for (var b in a) a.hasOwnProperty(b) && (f[b] = a[b])
        }, a.init = function (a) {
            null === a && (a = e);
            var b = a.onload || function () {
            };
            a.onload = function () {
                var a, c, e = document.getElementsByTagName("img"), f = [];
                for (a = 0; a < e.length; a += 1) c = e[a], c.getAttributeNode("data-no-retina") || f.push(new d(c));
                b()
            }
        }, a.isRetina = function () {
            var a = "(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)";
            return e.devicePixelRatio > 1 ? !0 : e.matchMedia && e.matchMedia(a).matches ? !0 : !1
        };
        var g = /\.\w+$/;
        e.RetinaImagePath = c, c.confirmed_paths = [], c.prototype.is_external = function () {
            return !(!this.path.match(/^https?\:/i) || this.path.match("//" + document.domain))
        }, c.prototype.check_2x_variant = function (a) {
            var b, d = this;
            return this.is_external() ? a(!1) : this.perform_check || "undefined" == typeof this.at_2x_path || null === this.at_2x_path ? this.at_2x_path in c.confirmed_paths ? a(!0) : (b = new XMLHttpRequest, b.open("HEAD", this.at_2x_path), b.onreadystatechange = function () {
                if (4 !== b.readyState) return a(!1);
                if (b.status >= 200 && b.status <= 399) {
                    if (f.check_mime_type) {
                        var e = b.getResponseHeader("Content-Type");
                        if (null === e || !e.match(/^image/i)) return a(!1)
                    }
                    return c.confirmed_paths.push(d.at_2x_path), a(!0)
                }
                return a(!1)
            }, b.send(), void 0) : a(!0)
        }, e.RetinaImage = d, d.prototype.swap = function (a) {
            function b() {
                c.el.complete ? (f.force_original_dimensions && (c.el.setAttribute("width", c.el.offsetWidth), c.el.setAttribute("height", c.el.offsetHeight)), c.el.setAttribute("src", a)) : setTimeout(b, 5)
            }

            "undefined" == typeof a && (a = this.path.at_2x_path);
            var c = this;
            b()
        }, a.isRetina() && a.init(e)
    }();
</script>
<script>
    $(document).ready(function () {
        $("#content").hide()
        startdelay = 200;
        coredelay = 300;
        maindelay = 630;
        setTimeout("$('#ringgroup').addClass('pass');$('#light').addClass('pass');$('#core').addClass('pass');", startdelay);
        setTimeout("$('#light').addClass('passed');$('#wave').addClass('pass');", startdelay + coredelay);
        setTimeout("$('body').removeClass('out').addClass('in')", startdelay + coredelay + maindelay);

        setTimeout(function () {
            $("#content").show();
        }, startdelay + coredelay + maindelay + 10)
    });
</script>
</body>
</html>
